# 该脚本启动一系列服务并周期性地执行数据处理任务。
# 具体步骤包括启动Hiveserver2、Hive metastore，以及在特定时间执行数据导入、处理和可视化。

# 启动Hiveserver2
echo `start-all.sh`
sleep 20
hiveserver2 2>&1 &
echo "hiveserver2成功启动"

# 启动Hive metastore
sleep 30
hive --service metastore 2>&1 &
echo "metastore成功启动"

# 暂停10秒，确保服务稳定运行
sleep 10

# 循环执行数据处理任务
while true
do
    # 执行Java程序进行数据处理
    hadoop jar /Users/edy/IdeaProjects/WebWriteHIveOnSpark/target/WebWriteHIveOnSpark-1.0-SNAPSHOT-jar-with-dependencies.jar com.liyuan.ExecutionMain
    echo "开始捕获网络数据"
    # 获取当前小时数
    current_hour=$(date +%H)
    echo $current_hour
    echo "开始更新数据"
    # 计算昨天和前天的日期
    yesdate=`date -v-0d '+%Y%m%d'`
    beforedate=`date -v-2d '+%Y%m%d'`
    # 准备Hive CLI命令
    roothive='beeline -u "jdbc:hive2://localhost:10000/default" -n edy -p 1497zs'
    # 删除旧数据
    hdfs dfs -rm -r /123/$beforedate
    echo "历史数据删除完成"
    # 导入新数据
    load_sql="load data inpath \"hdfs://localhost:9000/123/$yesdate/\" overwrite into table default.hot_baidu_session partition (ds="$yesdate");"
    echo `$roothive -e "$load_sql"`
    # 更新历史数据
    write_one="INSERT overwrite table default.hot_baidu_session_word_count select * from default.hot_baidu_session_word_count where createtime<'$yesdate';"
    echo $write_one
    /opt/homebrew/anaconda3/bin/python /Users/edy/Downloads/PY_TEST/pysparktest/test001.py
    # 生成可视化图
    /opt/homebrew/anaconda3/bin/python /Users/edy/Downloads/PY_TEST/pysparktest/test002.py  
    # 每1024秒检查一次条件
    sleep 1024
done